package answer;

/**
 * 定义了一个学生的类 Student, 包括成员变量“学号”、“班号”、“姓名”、“性别”、“年龄”，
 * 成员方法：“获得学号”、“获得班号”、“获得性别”、“获得姓名”、“获得年龄”。 请为 Student类定义2个构造函数， 一个构造函数初始化学号和姓名，
 * 另一个构造方法初始化所有的成员变量， 要求在第2个构造方法内调用第一个构造方法， 以初始化学号和姓名。 增加一个方法 public String
 * toString()把 Student类对象的所有信息组合成一个字符串（重写Object的toString方法）。
 * 重写Object类的equals方法：仅当学号相等时，认为两个学生相等。
 *
 */

public class Answer14 {
	public static void main(String[] args) {
		Student s = new Student("2016", "ABC", "111", "男", 21);
		System.out.println(s.getName());
	}
}

class Student {
	String name;// 姓名
	String number;// 学号
	String classNums;// 班号
	String sex;
	int age; // 年龄

	Student(String number, String name) {
		this.number = number;
		this.name = name;
	}

	Student(String number, String name, String classNums, String sex, int age) {
		this(number, name);
		this.classNums = classNums;
		this.sex = sex;
		this.age = age;
	}

	public String getName() {
		return name;
	}

	public String getNumber() {
		return number;
	}

	public String getClassNums() {
		return classNums;
	}

	public String getSex() {
		return sex;
	}

	public int getAge() {
		return age;
	}

	@Override
	public String toString() {
		return "Student [name=" + name + ", number=" + number + ", classNums=" + classNums + ", sex=" + sex + ", age="
				+ age + ", getName()=" + getName() + ", getNumber()=" + getNumber() + ", getClassNums()="
				+ getClassNums() + ", getSex()=" + getSex() + ", getAge()=" + getAge() + "]";
	}

	@Override
	public boolean equals(Object obj) {
		// TODO 自动生成的方法存根
		boolean flag = false;
		if (obj == null) {
			flag = false;
		} else if (obj instanceof Student) {
			Student s = (Student) obj;
			if (this.getNumber().equals(s.getNumber())) {
				flag = true;
			} else {
				flag = false;
			}

		}
		return flag;
	}
}
